package model

type Gamer struct {
	uid         uint64
	userModel   *UserModel
	statusModel *StatusModel
}

func NewGamer(id uint64) *Gamer {
	gamer := new(Gamer)
	gamer.uid = id
	return gamer
}

func (gamer *Gamer) GetUserModel() *UserModel {
	if gamer.userModel == nil {
		gamer.userModel = NewUserModel(gamer.uid)
	}
	return gamer.userModel
}

func (gamer *Gamer) GetStatusModel() *StatusModel {
	if gamer.statusModel == nil {
		gamer.statusModel = NewStatusModel(gamer.uid)
	}
	return gamer.statusModel
}

func (gamer *Gamer) Save(save bool) error {
	return nil
}

//func (gamer *Gamer) SaveUserData(save bool) error {
//	if gamer.User == nil {
//		return Error_DBErr
//	}
//	dataKey := fmt.Sprintf(GAMER_USER, GetDbKeyPrefix(), gamer.User.GetUserid())
//	pRedis := GetDbClient()
//	if pRedis == nil {
//		return Error_DBErr
//	}
//	if err := pRedis.Setx(dataKey, gamer.User, save); err != nil {
//		return Error_DBErr
//	}
//	return nil
//}
